import qqMap from '../../../utils/qqmap'

Page({
  data: {
    // 当前地点
    address: '',
    // 周围的小区
    points: [],
  },
  onLoad() {
    this.getLocation()
  },
  // 1. 获取当前位置的经纬度信息
  // latitude 维度(数字小的)  longitude 经度(数字大的)
  async getLocation() {
    const { latitude, longitude } = await wx.getLocation()
    this.getPoints(latitude, longitude)
  },
  // 2. 重新选择位置
  async chooseLocation() {
    const { latitude, longitude } = await wx.chooseLocation()
    this.getPoints(latitude, longitude)
  },
  // 3. 根据经纬度获取地址信息
  getPoints(latitude, longitude) {
    wx.showLoading({
      title: '正在获取位置信息...',
    })

    // 3.1 逆地址解析
    qqMap.reverseGeocoder({
      location: [latitude, longitude].join(',') || '', // '39.984060,116.307520'
      success: ({ result: { address } }) => {
        // console.log(address)
        // 更新数据并重新渲染视图
        this.setData({
          address,
        })
      },
      fail: (error) => {
        console.log(error)
        wx.utils.toast('获取位置信息失败')
      },
    })

    // 3.2 获取当前位置周边的小区信息
    qqMap.search({
      keyword: '住宅小区', //搜索关键词
      location: [latitude, longitude].join(',') || '', //设置周边搜索中心点
      page_size: 6, // 每页条数
      success: (res) => {
        const points = []
        res.data.forEach(({ id, title, _distance }) => {
          points.push({ id, title, _distance })
        })
        this.setData({
          points,
        })
      },
      fail: (error) => {
        console.log(error)
        wx.utils.toast('当前位置周边没有住宅小区')
      },
      complete: () => {
        wx.hideLoading()
      },
    })
  },
  // 4. 跳转去选择楼栋页面
  // /house_pkg/pages/building/index
  goBuilding(ev) {
    console.log(ev.mark.point)
    wx.navigateTo({
      url: `/house_pkg/pages/building/index?point=${ev.mark.point}`,
    })
  },
})
